Radio frequency identification method and system of distributing products

ABSTRACT

A method and system for vending products from a defined area, such as a micro-warehouse with a door. The method includes fitting each product with a radio frequency identification tag, positioning the plurality of products in a micro-warehouse, sensing opening and closing of the micro-warehouse door, scanning the plurality of products in the micro-warehouse upon sensing closing of the door to determine the number and type of products in the micro-warehouse, generating a message based on the number and type of products in the micro-warehouse, transmitting the message to a remote processor or server, and maintaining an inventory in the remote processor based on the message. The system is designed to be accessed by authorized individuals possessing some type of code or identifying mechanism. The micro-warehouses may be cabinets, refrigerators, secured rooms, or similar storage units or areas.

This application claims the benefit of U.S. Provisional Application No.60/241,907, filed Oct. 20, 2000.

BACKGROUND OF THE INVENTION

The present invention relates to methods and systems for distributingproducts to customers. More particularly, the invention relates to amethod and system that tracks the use of products using radio frequencytags and provides information to a central computer to enable automatedrestocking, inventory, tracking, or reordering of the products.

The Internet, EDI, and similar systems permit businesses and ordinaryconsumers to order goods. However, the delivery of those goods stilldepends on distribution systems that are based in the physical world.The science-fiction ideal of being able to instantly have goods pop outof a computer or to receive them through a “transporter” or some otherdevice has not yet been realized, and probably will not for many, manyyears. Presently, consumers may have goods shipped via various overnightdelivery services. One drawback of present delivery technology is thatit is primarily paper-based. Orders are made on paper and deliveryinvolves shipping invoices, receipts, and other paperwork, which iscostly to handle and annoying to many people. Even with technology thatis not paper-based, ordering and receiving goods requires a number ofsteps. For example, for a typical Internet order, a consumer must viewthe applicable Web site, select the item, such as by clicking on anicon, fill out an electronic order form, and wait for the product to bedelivered. Regardless of whether paper-based or electronic technology isused, present delivery methods usually require that the customer or hisor her agent be present at a physical location to take the delivery ofthe ordered product. Further, delivery is usually made to a loading dockor similar location. This requires some internal distribution system todeliver the goods from the initial delivery point to the location whereit is actually needed.

SUMMARY OF THE INVENTION

Accordingly, there is a need to improve the distribution of goods sothat consumers experience distribution of goods at a location proximateto where the consumer will use the goods without requiring paper orcomputer ordering. There is also a need for a distribution system thatrequires less user intervention and data input than existing systems.

The invention provides a system and method where a user need only findthe product of interest and take that product. As compared to mostInternet-based systems and methods, the invention is “clickless.” Inother words, the invention requires little or no manual input fromusers. The invention provides a system for distributing a plurality ofproducts. Each of the products has a radio frequency (“RF”) tag. As usedherein, radio frequency means electromagnetic radiation having afrequency that is between the frequencies of the audio-frequency portionof the electromagnetic spectrum and the frequencies of the infraredportion of the electromagnetic spectrum. Each tag is encoded with aunique identifying code. In one embodiment, the system is designed to beaccessed by individuals possessing a radio frequency user badge with anidentifying code. Alternatively, the system could rely on magnetic swipecards, password systems, biometric devices (such as a retinal scanner,thumbprint reader, voice identification unit, or the like), or othersystems for limiting access to authorized individuals.

The system includes one or more cabinets, refrigerators, similar storageunits, (generically referred to as “micro-warehouses”) or even securedrooms that are stocked with the RF tagged products and accessed byindividuals through one of the mechanisms described above. In oneembodiment, each micro-warehouse has a door that may be equipped with alock (such as an electric actuated lock), an antenna or antenna arraymounted on or in the micro-warehouse, a client controller coupled to thelock and the antenna, and an output device such as a light or display.Using a signal from the antenna or other input device, the clientcontroller checks the identity of the individual accessing themicro-warehouse, such as by reading the code of the user badge. Theoutput device is then activated to indicate whether the individualattempting to access the micro-warehouse is authorized to access theunit. If the code or other identifier matches stored records ofauthorized users, the client controller opens the door and the user mayremove desired products from the micro-warehouse. Once the user closesthe door, the client controller performs a scan of the productsremaining in the micro-warehouse to determine the identity of each ofthe products. The client controller then generates a message includingthe identity of each of the products or other message related to theproducts taken, and sends that message to a server. The server tracksproduct and user information automatically, that is, without relying onuser input. In particular, the server tracks product inventory, customerusage, restocking, usage frequency, faults, micro-warehouse temperature,timing, and other information. The server also generates orders forproducts taken from the micro-warehouse by the user. The server can beprogrammed to automatically place those orders, with the result that thesystem is “clickless.” That is, the system eliminates the need for thecustomer to re-order consumed items.

In addition to the features noted above, the system may also locate theposition or presence of one or more specific products in amicro-warehouse by conducting a scan of the micro-warehouse. In thisway, the system can sense a disordered state of the product in themicro-warehouse. For example, the system can detect whether all of thecomponents in a kit product are in the relevant kit box. Further, aproduct scan can detect whether any product in the micro-warehouse hasbeen recalled, expired, or is otherwise not suitable for use. Upondetecting such a product, the system refuses access to themicro-warehouse until an administrator removes the product or otherwiseaddresses the situation.

The invention also provides a method of distributing a plurality ofproducts from a micro-warehouse. The method may include fitting eachproduct with a radio frequency identification tag, positioning theplurality of products in the micro-warehouse, sensing opening andclosing of the micro-warehouse door, scanning the plurality of productsin the micro-warehouse upon sensing closing of the door to determine thenumber and type of products in the micro-warehouse, generating a messagebased on the number and type of products in the micro-warehouse,transmitting the message to a remote processor or server, andmaintaining an inventory in the server based on the message.

The method and system permit up-to-date information to be provided tothe server which, in turn, can be connected to ordering andmanufacturing information systems to ensure prompt re-stocking of themicro-warehouses. The system can be designed with multiple levels ofaccess. For example, multiple micro-warehouses may be located within asecure room and a user badge may be encoded to permit a user to accessthe room only, a limited number of warehouses in the room, or all thewarehouses in the room.

As is apparent from the above, it is an advantage of the presentinvention to provide a method and system of identifying and distributingproducts. Other features and advantages of the present invention willbecome apparent by consideration of the detailed description andaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings:

FIG. 1 is a schematic diagram of a system embodying the invention.

FIG. 2 is schematic diagram of the server and client controller of thesystem shown in FIG. 1 illustrating the architecture of the enterpriseapplication of the server and the architecture of the software on theclient controller.

FIG. 3 is an illustration of the flow of products and information in adistribution system of the invention.

FIG. 4 a is a flowchart of the software's boot up routine of theinvention.

FIG. 4 b is a flowchart of the software of the invention.

DETAILED DESCRIPTION

Before the invention is explained in detail, it is to be understood thatthe invention is not limited in its application to the details of theconstruction and the arrangements of the components set forth in thefollowing description or illustrated in the drawings. The invention iscapable of other embodiments and of being practiced or being carried outin various ways. Also, it is to be understood that the phraseology andterminology used herein is for the purpose of description and should notbe regarded as limiting.

FIG. 1 illustrates a system 10 embodying the invention. The system 10includes two servers (maintenance and commerce) 11 and 12 that createand maintain user lists, perform inventory, account, ordering functions,and monitoring functions, such as microwarehouse status, monitoringtemperature and other faults. Servers 11 and 12 may communicate with aclient (discussed below) using standard protocols such as TCP/IP, orother protocols over a network 13. The network 13 may be the Internet, atelephone network, a wireless network, power line carrier (“PLC”)network, or combinations thereof. Servers 11 and 12 include standardhardware and operating system software (not shown). Running on top ofthe hardware and operating system software is a micro-warehouse (“MW”)enterprise application 14. The MW enterprise application 14 accesses aprofile database 15 that includes a registration module 16, an orderhistory module 18, an account set-up module 20, and a stock requestmodule 22. Each of the modules 16-22 is maintained for each clientcoupled to the server 12. The modules may be configured with web contentdesigned to be accessible using protocols for the World Wide Web sectionof the Internet.

As best seen by reference to FIG. 2, the MW enterprise application 14performs numerous functions. Broadly, the MW enterprise application 14controls the arrangement of the RFID user badges (discussed below),manages communication sessions with clients connected to the server 12,maintains an inventory of products for each client connected to theservers 11 and 12, checks inventory of the MW and other local MWs beforeordering a product, manages security of communications, provides systemadministration functionality, and monitors and maintains the health ofclients connected to the servers.

The registration module 16 provides part of the inventory functionalityof the server 12 by providing access to information regarding thelocation of clients to the server 12. In the invention, the clients takethe form of MWs. The registration module also provides access toinformation regarding sales persons assigned to a particular MW andidentification numbers for each MW. The registration module 16 mayaccess a MW database 24.

The order history module 18 provides a history of orders for each MW andproduct preferences for each MW. The account set-up module providesadministrative screens for payment authorization, user information, andsimilar information. The stock request module 22 controls inventoryreplenishment based on usage and on specific customer requests andsimilar information.

The server 12 also accesses a commerce engine 30 that uses informationreceived from the client to generate orders that are delivered to themanufacturing infrastructure (not shown) that produces products to bedistributed using the system and method of the invention. Theinformation may be used by marketing, customer relation management(“CRM”), billing, and other systems and functions. For example, theinvention may be used in the distribution of life science researchproducts such as enzymes, assays, cloning vectors, component cells, andthe like. (Of course, a wide variety of non-biological products could bedistributed using the invention.) The information provided by the server12 is used in the manufacturing infrastructure to ensure properproduction of products according to the demand for such products. Asnoted above, the server 12 may be coupled to a plurality of clients. Anexemplary client in the form of a MW 35 is shown in FIGS. 1 and 2. Whileonly one client is shown, the number of clients connected to the server12 is limited only by the server's internal capacity and the capacity ofthe network 13.

The MW 35 may take the form of a refrigerated cabinet, a freezer, orother storage container. A secured storeroom, similar location, or otherdefined area could also be outfitted with a client controller and othercomponents, as described herein, and be used to store products. Asshown, the MW 35 includes a door 37, an electric actuated lock 39 and/ora proximity sensor 40, and an output device that may take the form ofaudio device or light 41. Other output devices such as a voice synthesisdevice, a display screen, and the like may also be used. The MW 35 isconfigured with an antenna array 43. The antenna array 43 is coupled toa client controller 45. In one embodiment, the invention may include anantenna with two vertically polarized array antennas. The antenna 43 isan RF receive and transmit device which communicates with a transponderdevice or tag (discussed in greater detail below). In one embodiment,the tag is a passive tag and powered by energy from the antenna.

The MW 35 may include a specialized card reader 47 in the form of amagnetic card swipe device, an antenna, a fingerprint reader, or similardevice. The specialized card reader 47 is coupled to the clientcontroller 45 via a communication link 49. The MW 35 may also include aninternal and ambient temperature sensor 55. If included, the temperaturesensor 55 is preferably positioned such that it can sense thetemperature of the interior of the MW 35. The temperature sensor 55 iscoupled to the client controller 45 to provide temperature informationto the client controller. Additional information may be provided to theclient controller through optional input devices. The location of the MW35 may be monitored by a global positioning system (GPS) device (notshown) plus inertial frame recognition for fine measurement and forinterpolation between GPS satellite acquisitions. The voltage,frequency, and other characteristics of electrical supply lines may bemonitored and provided to the client controller 45 by a power linemonitoring device (also not shown). Additional input devices, such ascameras, microphones, sensors, etc., could be coupled to the clientcontroller to monitor environmental and other conditions.

The client controller 45 includes software to carry out severalfunctions. The software included on the client controller 45 may bebetter understood by reference to FIG. 2. As shown, the clientcontroller 45 includes an operating system 60. The operating system 60is dependent on the type of processor used in the client controller.Preferably, the client controller 45 is an X86 single chip computercontroller with a compatible operating system. If desired, the clientcontroller 45 may be a consumer grade device such as a Palm Pilotpersonal digital assistant or Packet PC device, and modified accordingto the teachings herein. Depending on the hardware used, the clientcontroller 45 may be configured with a graphical user interface (“GUI”)to facilitate interaction between the system 10 and its users.

The client controller 45 also includes an I/O interface 62, which maytake the form of an analogue-digital, digital-analogue converter,digital input/output (ADC, DAC, and DIO) interface. The interface 62handles input from the electric actuated lock 39, input from thetemperature sensor 55, output to the electric actuated lock 39, andinput from optional monitoring devices such as the GPS and power linemonitoring devices.

In addition to the interface 62, the client controller 45 may have twoother modules: an REID user sensing subsystem 64 and a radio frequencydata collector (“RFDC”) inventory interface 66. The RFID user sensingsubsystem 64 handles input and output to and from the specialized cardreader 47. The RFDC inventory interface 66 handles input and output fromthe antenna 43 and handles links or sessions between the MW 35 andservers 11 and 12.

The client controller 45 includes software (not shown) which mayincorporate the RFDC inventory interface 66 that reads the RFIDsignatures from tagged products (discussed below) placed inside the MW35. The software may be implemented according to algorithms disclosed inInternational Publication No. WO99/45495 and International PublicationNo. WO99/45495, the disclosures of which are hereby incorporated byreference herein. The referenced publications teach identificationsystems that can identify a plurality of RFID tagged items using aninterrogator. The interrogator sends signals from antennas andcooperates with passive, transponder RFID tags in such a way as toeliminate or reduce interference problems that are typically associatedwith reading RF signals from multiple devices. The system 10 could alsobe implemented with active tags, although presently available activetags need to be improved so as to perform in the temperatures that thesystem is expected to operate within and at roughly the same cost andpower consumption.

Before the system 10 may be implemented, one or more RFID access badges75 must be generated. Preferably, the RFID badges 75, as well as theother RFID tags (discussed below) are passive transponder tags such asthe tags disclosed in the above-referenced international applications.Preferably, the RFID badges 75 are encoded with information from theaccount set-up module 20 based on digital signatures. In addition, it ispreferred that the digital signatures encoded on the RFID badges 75 usedby restocking services provide one-time access to a specific MW, andthereafter expire. The RFID access badges may be fixed on a carton ofproducts 80. Alternatively, they may be delivered separately to thefacility where the MW of interest is located.

The carton of products 80 includes a plurality of individual products 90each with an identification tag 95. Each identification tag 95 may bethe same as an RFID badge 75, except that the digital signature on tag95 will generally not expire. In one form of the invention, each tag 95has a 16-bit identification code and a 72-bit item identification code.The 16-bit identification tag may be programmed with information such asthe manufacturer of the product. The 72-bit item identification code isused to provide descriptive information regarding the product such asserial number, product type, date, lot number, and similar information.

Once all the products 90 have been fitted with unique RFID tags 95, theproducts may be shipped in the carton 80 to a designated MW such as theMW 35. As shown in FIG. 3, the carton 80 is packed according to afulfillment request that is based on either an initial order from acustomer (not shown) or MW specific business rules followed by theserver 12. The carton 80 may be fitted with RFID access badge 75 or theRFID access badge 75 may be shipped separately to the location of the MWof interest. If fitted with an RFID access badge 75, the carton 80 maybe shipped by a delivery service contracted to deliver the package tothe MW 35. Once the carton is delivered, the recipient or user may usethe RFID access badge 75 to open the door 37 of the MW 35 by passingRFID access badge 75 in front of the reader 47. Client controller 45reads the digital signature of the RFID access badge 75 and confirmsreading of the code by actuating a user feedback device such as a voicesynthesis module or the light 41. Since, the server 12 provides alocally based user list to the client controller 45, the clientcontroller 45 oversees authentication of the digital code read from theRFID access badge 75. Client controller 45 checks the authenticity ofthe read code by matching the code to the user list. Client controller45 may then optionally read the temperature sensors 55 and transmittemperature information to the server 11. Preferably, the temperaturesensor is also read on a periodic basis, with the temperatureinformation being transmitted to the server each time the temperature isread. Client controller 45 can also be programmed to transmittemperature data if the temperature falls beneath or above apredetermined range. In many instances, it will be important to ensurethat the temperature of the MW is within an appropriate range to storethe products 90. If the temperature of the MW 35 is within anappropriate range, and the user is authenticated, the client controller45 then actuates the lock 39 to open the door 37 (of course, the MW neednot be equipped with the lock 39). If the temperature of the MW 35 isnot within an appropriate range, then access to the MW may be preventedby maintaining the lock 39 in a closed state. This would allow arefrigerated unit associated with the MW to cool the interior space ofthe MW to a desired temperature before ambient air was allowed into theMW by opening of the door. This also provides for product integrityduring power failure.

Once the door 37 opens (which may be sensed by the proximity sensor 40),a communication session between the MW 35 and servers 12, which may besegmented based on appropriate events to optimize user response andnetwork usage, begins. Having full access to the MW 35, the employee ofa carrier or logistic service who delivered the carton 80 now proceedsto place the individual items 90 into the MW 35. Once the carton ofproducts 80 is empty, the delivery employee then closes the door 37, andremoves the carton, if necessary. The proximity sensor 40 senses theclosing of the door 37. The client controller 45 senses the status ofthe sensor. Preferably, the lock 39 (if used) resets automatically afterbeing unlocked for a predetermined time, for example five (5) seconds.The user has that predetermined time to open the door. The RFDCinventory interface 66 is disabled once the door 37 opens. When the door37 closes, the RFDC inventory interface 66 is enabled and initiates ascan of the products placed within the MW 35. Upon completing the scan,the client controller 45 sends a change-in-inventory message 100 to thecommerce server 12. To ensure integrity of the inventory change billedto the customer, the client controller 45 employs an integrity algorithmwhen the RFDC inventory interface 66 scans the MW 35. The algorithm isbased on statistical information, historical information, and otherfactors including RF algorithms (frequency-hopping, etc.) and delaydata.

The MW 35 may be accessed by a customer at the MW location using aseparate RFID badge 75 shipped directly to that customer. Alternatively,and as noted above, the reader 47 may be configured as a magnetic cardswipe device, barcode, a fingerprint reader, or some similar device thatcontrols access to the MW 35. Regardless of its exact configuration, thereader 47 reads the input from the customer and acknowledges reading ofthat input by lighting the light 41. The client controller 45 then sendsan input signal to the server 12. The server 12 then conducts anauthenticity review of the input. If an authorized input is received,the server 12 sends an okay message to the MW 35. The client controller45 may have the capability to authenticate the review as well. Onceauthentication takes place, the client controller 45 then opens the door37 allowing the customer access to the interior of the MW 35. Thecustomer then removes one or more products 90 from the interior of theMW and then closes the door 37. Once the door is closed, clientcontroller 45 scans the remaining products in the MW 35 and sends amessage containing the missing products to the server 12. Identifyingwhich products have been taken, the server 12 compares the previousinventory prior to opening, to the inventory of the missing items. Fromthe comparison, the server 12 determines the missing items in the MW 35.The inventory information is then communicated to the commerce engine30, which stores the information for future use for both marketing andinventory functions. Receipts for the used products can then be emailedor printed and shipped via regular mail to the customer at the MWlocation. Invoicing can also occur using electronic and standardmechanisms.

The inventory message can be used for other purposes as well. Forexample, the inventory message includes information regarding individualproducts. Therefore, the amount of time a particular product spends inany MW may be recorded by the server, as well as the product'stemperature history. If this time is recorded, it is also possible tocompare the amount of time any particular product spends in a MW to ashelf life for that product. Temperature history can also be stored andcompared to other data. If the shelf life is passed, then an expirationmessage, such as a pick list, may be generated and sent to the MW or ane-mail address of a user of the system to inform users of products thatshould be removed from the MW and not used. In addition, the inventorymessage may be used to determine the type of products in the MW 35. Ifany of the products present within the MW 35 are subject to a recall,the MW 35 may be placed in a “lock down” condition, whereby access tothe MW is denied until an administrator or other authorized individualremoves the recalled product or otherwise addresses the situation.

FIGS. 4 a and 4 b are flow charts of the software used in the invention.Once the client controller 45 is turned on in FIG. 4 a at step 138, itexecutes a standard boot up routine at step 140. Part of the standardboot up process enables the software to automatically update itself. Atstep 142, a message is sent to the maintenance server 11 to query thecurrent version of the controller software. If the version on the server11 is the same as the version on the client controller 45, the clientcontroller 45 establishes a wait state as shown in step 152. If theversion on the server 11 is newer than the version on the clientcontroller 45, then the newer version is downloaded over the Internet,as shown at step 144. The newer version is loaded into the alternativepocket or partition and written to flash memory, as shown at step 146.Then the software is booted, as shown at step 148. A garbage collectionroutine clears the old version. A message packet accompanies each bootto the maintenance server, including version status and operatingstatus. Each boot then requests a reload of the list of authorized usersfrom the server 11 at step 150. The list is then reloaded at step 151.As shown in FIG. 4 b at step 152, the client controller 45 thenestablishes the wait state of the system by initializing variousvariables or objects such as a USER, MSG 1, MSG 2, CNT 1, TEMP 1, TEMP2, and SOLENOIDS. In addition, the client controller 45 initializesvariables or objects SWITCHES, POWER, and LIGHT. Once initialization iscomplete, the unit is ready for user access. During this wait state, theclient controller 45 performs periodic checks on the status of the MW35. When a customer approaches the MW and presents an RFID badge, theclient controller 45 reads the user RFID badge at step 154 and checksthe validity of the identification code read from the badge at step 158.If the code does not match a valid code, an invalid user message isgenerated at step 162. The message may be displayed on an output device(not shown). If an optional lock is installed on the door of the MW 35,the client controller 45 then opens the solenoids in the lock on the MW35, as shown at step 166, if the code is valid. An internal timer isthen started, as shown at step 170. In one embodiment of the invention,the proximity sensor 40 is used to detect opening of the door 37 and thestatus of the door. Once the door opens, the proximity sensor 40switches its status. At step 174, the client controller 45 checks to seeif the door has been opened by reading the status of the proximitysensor 40. If the proximity sensor 40 has not changed status, the clientcontroller 45 will continue to check for a predetermined amount of time,as shown at step 178. If the predetermined amount of time is exceeded,the solenoids are closed (step 182), which locks the lock 39, a timeouterror message is generated (step 184), and the client controller 45returns to the initial state, as shown at step 186.

If the door 37 is opened within the predetermined amount of time(currently set through practice at five (5) seconds), a second timer isstarted, as shown at step 190. The client controller 45 then records theinternal temperature of the MW 35 at step 194 and then checks to see ifthe door 37 has been closed at step 200. The client controller 45continues to check for closing of the door for a predetermined amount oftime, as shown at step 204. If the predetermined amount of time expires,a close door message is generated as shown at step 208 and steps 190-204are re-executed.

Once the door 37 is closed, the client controller 45 closes thesolenoids, as shown at step 212. The client controller 45 then confirmsthat the door 37 is closed at step 216 and performs an inventory scan atstep 220. The data from the inventory scan is then sent to the server12, as shown at step 224. The client controller 45 then returns to theinitial state (step 186).

In another embodiment, the system utilizes a defined area to enclose thetagged products rather than a cabinet. The defined area uses an accesspoint to serve as its entryway. The products within the area are fittedwith identification tags and specifically positioned in the area to berecognized by the RFDC inventory interface. Product scans begin when asensor senses a user passing through the access point. The access pointis controlled by a processor, such as the client controller 45, and isable to restrict access to the area and products, if necessary.

As can be seen from the above, the invention provides a method andsystem for distributing products. Various features and advantages of theinvention are set forth in the following claims.

1. A method of distributing a plurality of products from a cabinethaving a door, the method comprising: fitting each product with a radiofrequency identification tag; positioning the plurality of products inthe cabinet; sensing opening and closing of the cabinet door; scanningthe plurality of products in the cabinet upon sensing closing of thecabinet door to determine the number and type of products in thecabinet; generating a message based on the number and type of productsin the cabinet; transmitting the message to a server; maintaining aninventory in the server based on the message; reading a code on a userbadge; acknowledging having read the user badge; determining theauthenticity of the code read from the user badge; opening the cabinetif the code read from the user badge is authentic; and performing aself-updating boot up procedure for a controller associated with thecabinet, said procedure comprising: (a) sending a message querying amost recent software version number; (b) comparing a software versionnumber currently used to the most recent software version number; (c)downloading software having the most recent software version number ifthe currently used software version number and the most recent softwareversion number differ when compared; (d) writing the downloaded softwareto memory associated with the controller; and (e) booting the downloadedsoftware by the controller.
 2. A method as claimed in claim 1, furthercomprising: requesting an updated user list; and receiving the updateduser list.
 3. A system for distributing a plurality of products, eachproduct having a radio frequency tag, the system comprising: a radiofrequency user badge having a code; at least one micro-warehouse, themicro-warehouse having (a) an output device, (b) a door with a proximitysensor, (c) an antenna mounted on the micro-warehouse, and (d) acontroller coupled to the proximity sensor and the antenna, thecontroller operable to receive the code, to activate the output deviceafter receiving the code on the user badge, to scan the plurality ofproducts and determine the identity of each of the products, and tocreate a message including the identity of each of the products; and aserver coupled to the controller to receive the message, wherein thecontroller uses a self-updating boot up procedure, the procedurecomprising: (a) sending a message querying a most recent softwareversion number; (b) comparing a software version number currently usedto the most recent software version number; (c) downloading softwarehaving the most recent software version number if the currently usedsoftware version number and the most recent software version numberdiffer when compared; (d) writing the downloaded software to memoryassociated with the controller; and (e) booting the downloaded softwareby the controller.
 4. A method of distributing a plurality of productsfrom a cabinet having a door, the method comprising: fitting eachproduct with a radio frequency identification tag; positioning theplurality of products in the cabinet; sensing opening and closing of thecabinet door; scanning the plurality of products in the cabinet uponsensing closing of the cabinet door to determine the number and type ofproducts in the cabinet; generating a message based on the number andtype of products in the cabinet; transmitting the message to a server;maintaining an inventory in the server based on the message; one of (i)reading a fingerprint and unlocking the cabinet in accordance with thefingerprint read in said reading step, and (ii) reading an RFID badgeand unlocking the cabinet in accordance with results of said readingstep; and performing a self-updating boot up procedure for a controllerassociated with the cabinet, said procedure comprising: (a) sending amessage querying a most recent software version number; (b) comparing asoftware version number currently used to the most recent softwareversion number; (c) downloading software having the most recent softwareversion number if the currently used software version number and themost recent software version number differ when compared; (d) writingthe downloaded software to memory; and (e) booting the downloadedsoftware by the controller.
 5. A method according to claim 4, whereinsaid method comprises step (i).
 6. A method according to claim 4,wherein said method comprises step (ii).
 7. A method according to claim4, wherein said scanning step uses RFID to effect the scanning, whereinsaid generating step generates a message in accordance with a comparisonbetween results of said scanning step and results of an earlier RFIDscan of the products in the cabinet, wherein said unlocking stepcomprises controlling a solenoid of an electric actuated lock with whichthe cabinet is equipped, wherein said step of sensing opening andclosing of the cabinet door comprises sensing output of a proximitysensor, wherein said scanning step uses an antenna mounted on or in thecabinet, and wherein passive tags are used in said fitting step.
 8. Amethod according to claim 7, wherein the plurality of products comprisea biological product.
 9. A method according to claim 8, wherein thebiological product is selected from the group consisting of an enzyme,an assay, and a cloning vector.